home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / ADB.a next >
Text File  |  1996-05-01  |  5KB  |  174 lines

  1. ;
  2. ;    File:        ADB.a
  3. ;
  4. ;    Contains:    ADB Interface for System 8
  5. ;
  6. ;    Version:    Technology:    
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__ADB__') = 'UNDEFINED' THEN
  19. __ADB__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__IOITERATOR__') = 'UNDEFINED' THEN
  25.     include 'IOIterator.a'
  26.     ENDIF
  27.     IF FOR_SYSTEM8_PREEMPTIVE THEN
  28. ;
  29. ;------------------------------------------------------------------------------------
  30. ;  Types
  31. ;------------------------------------------------------------------------------------
  32. ;
  33.  
  34. kADBCurrentIteratorDescVersion    EQU        1
  35. ADBIOIteratorData        RECORD 0
  36. IOCI                     ds        IOCommonInfo    ; offset: $0 (0)        ;  common data for all families    
  37. currentAddress             ds.b    1                ; offset: $14 (20)
  38. defaultAddress             ds.b    1                ; offset: $15 (21)
  39. defaultHandlerID         ds.b    1                ; offset: $16 (22)
  40.                          ORG 24
  41. sizeof                     EQU *                    ; size:   $18 (24)
  42.                         ENDR
  43. ; typedef UInt32                         ADBConnectionID
  44.  
  45. ADBRegisterContents        RECORD 0
  46. data                     ds.b    8                ; offset: $0 (0)
  47. length                     ds.l    1                ; offset: $8 (8)
  48. sizeof                     EQU *                    ; size:   $C (12)
  49.                         ENDR
  50. ;
  51. ;------------------------------------------------------------------------------------
  52. ;  Calls
  53. ;------------------------------------------------------------------------------------
  54. ;
  55. ;
  56. ; extern OSStatus ADBGetDeviceData(ItemCount requestCount, ItemCount *totalCount, ADBIOIteratorData *deviceData)
  57. ;
  58.     IF GENERATINGCFM THEN
  59.         IMPORT_CFM_FUNCTION ADBGetDeviceData
  60.     ENDIF
  61.  
  62. ;
  63. ; extern OSStatus ADBOpen(const IODeviceRef *ref, ADBConnectionID *connection)
  64. ;
  65.     IF GENERATINGCFM THEN
  66.         IMPORT_CFM_FUNCTION ADBOpen
  67.     ENDIF
  68.  
  69. ;
  70. ; extern OSStatus ADBClose(ADBConnectionID connection)
  71. ;
  72.     IF GENERATINGCFM THEN
  73.         IMPORT_CFM_FUNCTION ADBClose
  74.     ENDIF
  75.  
  76. ;
  77. ; extern OSStatus ADBGetNextAutopoll(ADBConnectionID connection, Duration timeOut, ADBRegisterContents *contents, AbsoluteTime *timestamp)
  78. ;
  79.     IF GENERATINGCFM THEN
  80.         IMPORT_CFM_FUNCTION ADBGetNextAutopoll
  81.     ENDIF
  82.  
  83. ;  ADBGetRegister sends a Talk command over the wire
  84. ;
  85. ; extern OSStatus ADBGetRegister(ADBConnectionID connection, Byte registerNumber, ADBRegisterContents *contents, AbsoluteTime *timestamp)
  86. ;
  87.     IF GENERATINGCFM THEN
  88.         IMPORT_CFM_FUNCTION ADBGetRegister
  89.     ENDIF
  90.  
  91. ;
  92. ; ADBSetRegister sends a Listen command over the wire
  93. ; Note, only allowed for registers 0, 1, and 2
  94. ; Use the specific calls to set individual fields of register 3
  95. ;
  96. ;
  97. ; extern OSStatus ADBSetRegister(ADBConnectionID connection, Byte registerNumber, const ADBRegisterContents *contents)
  98. ;
  99.     IF GENERATINGCFM THEN
  100.         IMPORT_CFM_FUNCTION ADBSetRegister
  101.     ENDIF
  102.  
  103. ;
  104. ; extern OSStatus ADBGetHandlerID(ADBConnectionID connection, Byte *handlerID)
  105. ;
  106.     IF GENERATINGCFM THEN
  107.         IMPORT_CFM_FUNCTION ADBGetHandlerID
  108.     ENDIF
  109.  
  110. ;
  111. ; extern OSStatus ADBSetHandlerID(ADBConnectionID connection, Byte handlerID)
  112. ;
  113.     IF GENERATINGCFM THEN
  114.         IMPORT_CFM_FUNCTION ADBSetHandlerID
  115.     ENDIF
  116.  
  117. ;
  118. ; for ADBGetStatusBits and ADBSetStatusBits,
  119. ; the 4 most significant bits of the bits parameter
  120. ; contain the 4 most significant bits of the first byte of device register 3
  121. ;
  122. ;
  123. ; extern OSStatus ADBGetStatusBits(ADBConnectionID connection, Byte *bits)
  124. ;
  125.     IF GENERATINGCFM THEN
  126.         IMPORT_CFM_FUNCTION ADBGetStatusBits
  127.     ENDIF
  128.  
  129. ;
  130. ; extern OSStatus ADBSetStatusBits(ADBConnectionID connection, Byte bits)
  131. ;
  132.     IF GENERATINGCFM THEN
  133.         IMPORT_CFM_FUNCTION ADBSetStatusBits
  134.     ENDIF
  135.  
  136. ;  see the Guide to Macintosh Family Hardware for more info on an ADB device activator
  137. ;
  138. ; extern OSStatus ADBTestActivator(ADBConnectionID connection, Boolean *activatorPressed)
  139. ;
  140.     IF GENERATINGCFM THEN
  141.         IMPORT_CFM_FUNCTION ADBTestActivator
  142.     ENDIF
  143.  
  144. ;
  145. ; extern OSStatus ADBFlush(ADBConnectionID connection)
  146. ;
  147.     IF GENERATINGCFM THEN
  148.         IMPORT_CFM_FUNCTION ADBFlush
  149.     ENDIF
  150.  
  151. ;
  152. ; extern OSStatus ADBResetBus(void )
  153. ;
  154.     IF GENERATINGCFM THEN
  155.         IMPORT_CFM_FUNCTION ADBResetBus
  156.     ENDIF
  157.  
  158. ;
  159. ;------------------------------------------------------------------------------------
  160. ;  status codes
  161. ;------------------------------------------------------------------------------------
  162. ;
  163. ;  ADB assigned range is -30279 to -30260 inclusive
  164.  
  165. adbDeviceBusyErr                EQU        -30279                ; device already Opened
  166. adbInvalidConnectionIDErr        EQU        -30278
  167. adbConnectionTerminatedErr        EQU        -30277                ; device closed or unplugged during the call
  168. adbDeviceTimeoutErr                EQU        -30276
  169. adbReservedHandlerIDErr            EQU        -30275
  170. adbInvalidHandlerIDErr            EQU        -30274
  171.     ENDIF
  172.     ENDIF ; __ADB__ 
  173.  
  174.